/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package API_Db;

import domain.Utilisateur;

/**
 *
 * @author Damador
 */
public interface IAPI_Db_Utilisateur {
    
    /**
     * Permet d'inscrire un utilisateur dans la base de données.
     * @param user : objet de type Utilisateur
     * @return 
     */
    public int inscrireDB(Utilisateur user);
    
    /**
     * Permet d'identifier un utilisateur
     * @param login
     * @param mdp
     * @return objet de type Utilisateur
     */
    public Utilisateur identifierDB(String login, String mdp);
    
    /**
     * Active l'utilisateur (permet de verifier l'adresse mail) 
     * @param id_utilisateur
     * @return 
     */
    public int activerUtilisateurDB(int id_utilisateur);
    
    /**
     * Permet de modifier les parametres d'un utilisateur dans la base de données
     * @param utilisateur
     * @return int
     */
    public int modifierProfilDB(Utilisateur utilisateur);
    
    
    
    /**
     * Permet de recuperer un objet utilisateur via son id
     * @param id_utilisateur
     * @return objet Utilisateur
     */
    //TODO j'ai rajouté ici un id utilisateur en paramètre
    public Utilisateur getUtilisateurParId(int id_utilisateur);
    
    /**
     * Permet de se deconnecter de la base de données
     * @return int
     */
    public int deconnecterDB();
    
    /**
     * Permet de renvoyer le mot de passe a l'utilisateur pas mail en cas de perte
     * @param mail
     * @return int
     */
    public int recupererMotDePass(String mail);
    
    /**
     * Permet de modifier l'etat de l'utilisateur (en cas de fermeture du compte les informations
     * seront gardees)
     * @param id_utilisateur
     * @param etat
     * @return int
     */
    public int changeEtatUtilisateurDB(int id_utilisateur, int etat);
    
    /**
     * Permet de creer le compte qui contiendra l'argent.
     * @param idUtilisateur
     * @return int
     */
    public int creerCompteDB(int idUtilisateur);
    
}
